package com.hub.service;

import com.hub.dto.PageParam;
import com.hub.dto.auth.MenuParam;
import com.hub.entity.AuthMenu;
import com.hub.utils.ApiResultObject;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hub
 * @since 2020-05-14
 */
public interface IAuthMenuService extends IBaseService<AuthMenu> {

    /**
     * 获取菜单树
     * @return
     */
    ApiResultObject getMenuTree();

    /**
     * 获取菜单列表
     * @param pageParam
     * @return
     */
    ApiResultObject getList(PageParam<AuthMenu> pageParam);

    /**
     * 创建菜单
     * @param param
     * @return
     */
    ApiResultObject createMenu(MenuParam param);

    /**
     * 创建菜单
     * @param id
     * @param param
     * @return
     */
    ApiResultObject updateMenu(Long id, MenuParam param);

    /**
     * 删除菜单
     * @param id
     * @return
     */
    ApiResultObject deleteMenu(Long id);
}
